In many communications networks, such as the Internet, some message content is repeated in many different messages. One way to increase the efficiency of network communications is to store commonly transmitted data elements at network nodes and to send references to the data elements rather than the full data.
One technique to perform this function is to utilize Shared Dictionary Compression Over HTTP (SDCH), as described in Butler, et al., “A Proposal for Shared Dictionary Compression over HTTP”, Sep. 8, 2008 (hereinafter Bulter). Butler does not disclose a compression technique that that leverages cross-payload redundancy.
Typically, when a browser retrieves a set of HTML pages with the same header, footer, inlined JavaScript and cascading style sheets (CSS) requires the retransmission of the same data multiple times. In Bulter, a new data structure “dictionary” that takes advantage of payload redundancy in web-pages is disclosed. A dictionary is a file that contains strings which are likely to appear in subsequent HTTP responses. The dictionary is downloaded by the web browser from the server. In the case described above, if the header, footer, JavaScript, and CSS are stored in a dictionary possessed by both user agent and server, the server can substitute these elements with references to the dictionary, and the user agent (web browser) can reconstruct the original page from these references. By substituting dictionary references for repeated elements in HTTP responses, the payload size can be reduced, thus increasing the efficiency of network communications.
However, as Bulter describes one format of a dictionary (SDCH) and how the SDCH can be decoded and encoded by a server and a user agent, but does not disclose how the dictionaries can be created and maintained, and particularly how a library of shared dictionaries can be created and maintained.
Therefore, it would be advantageous to provide a solution for simple creation, and management of shared compression dictionaries.